实现：
	微信端可以实现定位功能，当微信点击确认到场时，会将当前位置保存至数据库，并展示出来。

步骤：
	1、被推送消息的用户，首先得关注了微信公众号，这是前提，如果没有关注，则不会推送
	2、引入文件：Jssdk.class.php, 【路径：/ThinkPHP/Library/Org/Jssdk (Jssdk是自己创建的文件夹)】
	3、设置配置项【路径：/Application/Common/Conf/config.php】,添加如下两段代码。
		<?php
			'APP_ID'=>'wx6fa24506c80f09de',
  			'APP_SECRET'=>'d9e8740cf8f9f94236239beec2809f75',
		?>
	4、注册百度Api，获取百度API的ak的值。
	5、在需要处理定位的控制器里实例化jssdk类对象
		<?php
			namespace Weixin\Controller;
			use Think\Controller;
			use ORG\Jssdk;
			class OrderController extends BaseController {
				//需要定位的页面，初始化位置的方法
				public function wx_show(){
					$jssdk = new Jssdk(C('APP_ID'), C('APP_SECRET'));
        			$signPackage = $jssdk->getSignPackage();
        			$this->assign('signPackage',$signPackage)->display();
				}
			}
		?>

	5、接下来在前端页面上处理就可以了,需要注意的是在前台页面需要引入js文件
		<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
		<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的ak值"></script>

接下来便是实例展示了：
代码部分:
/************************************************************************************************************/
html部分：
	<div class="s_content">
		<span class="step">维修方到现场</span>
		<span class="addr">{{$list.addrs}}</span>
		<input type="hidden" name="id" value="{{$list.id}}" id="id">
	</div>
	<div>
		<button name="sub" class="wx_pos">确认位置</button>
	</div>

/************************************************************************************************************/
js部分：
	<script src="WEIXIN_URL/js/jquery.min.js"></script>
	<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
	<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4XdYnp7KTzonGlkS0bgx4uj81X4Ke9Py"></script>
	<script type="text/javascript">
		$(function(){
			var addrs = '';
			wx.config({
				debug: false,
				appId: '{{$signPackage["appId"]}}',
				timestamp: '{{$signPackage["timestamp"]}}',
				nonceStr: '{{$signPackage["nonceStr"]}}',
				signature: '{{$signPackage["signature"]}}',
				jsApiList: ['getLocation']
			 });
			//经纬度坐标精确度
			function gcj02tobd09(lng, lat) {
				var x_PI = 3.14159265358979324 * 3000.0 / 180.0; 
				var z = Math.sqrt(lng * lng + lat * lat) + 0.00002 * Math.sin(lat * x_PI);
				var theta = Math.atan2(lat, lng) + 0.000003 * Math.cos(lng * x_PI);
				var bd_lng = z * Math.cos(theta) + 0.0065;
				var bd_lat = z * Math.sin(theta) + 0.006;
				return [bd_lng, bd_lat];
			}
			wx.ready(function (){
				var latitude;
				var longitude;
				wx.getLocation({
					type: 'gcj02', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
					success: function (res) {
						latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
						longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
						var bd_position = gcj02tobd09(longitude,latitude);
						console.log(bd_position[0]+"//"+bd_position[1]);
						var geoc = new BMap.Geocoder();
						var pt = new BMap.Point(bd_position[0],bd_position[1]);
						geoc.getLocation(pt, function(rs){
							console.log(rs);
							var addComp = rs.addressComponents;
							addrs =addComp.city + " " +addComp.district + " " + addComp.street; //获取当前位置的地址
						});
					}
				});	
			});
		});
	</script>
	<script type="text/javascript">
		$(".wx_pos").click(function(){
			setTimeout(function(){
				var url = "{{:U('Order/wx_position')}}";
				var data = {addrs:addrs,id:$("#id").val()};
				$.post(url,data,function(res){
					var obj = eval("("+res+")");
					if(obj.code == 200){
						layer.msg(obj.msg,{icon:1});
						setTimeout(function(){
							location.reload();
						},1000);
					}else{
						layer.msg(obj.msg,{icon:2});
						setTimeout(function(){
							location.reload();
						},1000);
					}
				},"json");	
			},1000)
		})
	</script>


/************************************************************************************************************/
php部分：	
	<?php
		namespace Weixin\Controller;
		use Think\Controller;
		use ORG\Jssdk;
		class OrderController extends BaseController {
			//当进入需要定位的页面时的方法
			public function wx_show(){
				$jssdk = new Jssdk(C('APP_ID'), C('APP_SECRET'));
    			$signPackage = $jssdk->getSignPackage();
    			$this->assign('signPackage',$signPackage)->display();
			}
			//将定位存在数据表中
			public function wx_position(){
				if(IS_AJAX){
					$id = I('id');//表id
					$addr = I("addr");//地址
					//存表操作
					//存表成功后
					$this->ajaxReturn(json_encode(array('code'=>200,'msg'=>'等到确认中')));
				}
			}
		}
	?>

